package com.eltsistema.controller;

import java.text.ParseException;

import javax.servlet.http.HttpServletRequest;

import org.hibernate.Session;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.eltsistemas.dao.CategoriaDao;
import com.eltsistemas.modelo.Categoria;

@Controller
public class CategoriaController {
	
	@RequestMapping("/formCategoria")
	public String formCategoria()
	{
		return "cadcategoria";
	}
		
	@RequestMapping("/adicionarCategoria")
	public String adiciona(Categoria categoria, HttpServletRequest request) throws ParseException
	{
		Session session = (Session) request.getAttribute("session");
		CategoriaDao daoCategoria = new CategoriaDao(session);	
		daoCategoria.adiciona(categoria);
		return "redirect:listaCategoria";
	}
	
	@RequestMapping("/listaCategoria")
	public String lista(Model model, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		CategoriaDao daoCategoria = new CategoriaDao(session);		
		model.addAttribute("categorias", daoCategoria.lista());
		return "categoria";
	}
	
	@RequestMapping("/exibeCategoria")
	public String exibe(Categoria categoria, Model model, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		CategoriaDao daoCategoria = new CategoriaDao(session);
		model.addAttribute("categoria", daoCategoria.exibe(categoria));
		return "editcategoria";
	}
	
	@RequestMapping("/alterarCategoria")
	public String altera(Categoria categoria, HttpServletRequest request) throws ParseException
	{
		Session session = (Session) request.getAttribute("session");
		CategoriaDao daoCategoria = new CategoriaDao(session);	
		daoCategoria.altera(categoria);
		return "redirect:listaCategoria";
	}
	
	@RequestMapping("/removeCategoria")
	public String remover(Categoria	categoria, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		CategoriaDao daoCategoria = new CategoriaDao(session);
		daoCategoria.remover(categoria);
		return "redirect:listaCategoria";
	}

}
